/**
 * 
 * @param {*} ele 
 * 根据标签名获取元素
 */
function getTag(ele){
    return document.getElementsByTagName(ele);
}
/**
 * 
 * @param {*} ele 
 * 根据类名获取元素
 */
function getClass(ele){
    return document.getElementsByClassName(ele);
}
/**
 * 
 * @param {*} ele 
 * 根据id获取元素
 */
function getId(ele){
    return document.getElementById(ele);
}
/**
 * 
 * @param {*} ele 
 * 获取第一个子元素
 */
function fs(ele){
    return ele.firstElementChild || ele.firstChild;;
}
/**
 * 
 * @param {*} ele 
 * 获取最后一个子元素
 */
function ls(ele){
    return ele.lastElementChild || ele.lastChild;;
}
/**
 * 
 * @param {*} ele 
 * 获取下一个兄弟元素
 */
function ns(ele){
    return ele.nextElementSibling || ele.nextSibling;
}
/**
 * 
 * @param {*} ele 
 * 获取上一个兄弟元素
 */
function ps(ele){
    return ele.previousElementSibling || ele.previousSibling
}
/**
 * 
 * @param {*} ele 
 * 获取除了自己之外的所有兄弟
 */
function otherSibling(ele){
    var newArr=[];
    var arr=ele.parentNode.children;
    for(var i=0;i<arr.length;i++){
        if(arr[i]!=ele){
            newArr.push(arr[i]);
        }
    }
    return newArr;
}

function slowAnimate(ele,json,fn){
    clearInterval(ele.timer);
    ele.timer=setInterval(function(){
        var bool=true;
        for(var attr in json){
            var larder;
            if(attr=="opacity"){
                larder=getStyle(ele,attr)*100;
            }else{
                larder=parseInt(getStyle(ele,attr));
            }
            var target=json[attr];
            var step=(target-larder)/10;//目标位置-当前位置
            step=step>0?Math.ceil(step):Math.floor(step);
            larder=larder+step;
            if(attr=="opacity"){
                ele.style[attr]=larder/100;
            }else if(attr=="zIndex"){
                ele.style[attr]=target;
            }else{
                ele.style[attr]=larder+"px";
            }
            if(target!=larder){
                bool=false;
            }
        }
        if(bool){
            clearInterval(ele.timer);
            fn&&fn();
        }
    },30);
}
function getStyle(ele,attr){//ele什么元素，attr什么属性
    if(window.getComputedStyle){
        return window.getComputedStyle(ele,null)[attr];
    }else{
        return ele.currentStyle[attr];
    }
}


function client(){
    if(window.innerWidth!=undefined){
        return{
            width:window.innerWidth,
            height:window.innerHeight
        }
    }else if(document.compatMode==="CSSlCompat"){
        return{
            width:document.documentElement.clientWidth,
            height:document.documentElement.clientHeight
        }
    }else{
        return{
            width:document.body.clientWidth,
            height:document.body.clientHeight
        }
    }
}